From: Dan Winship Date: Thu, 30 Sep 2010 20:56:50 +0000 (-0400) Subject: NotificationDaemon: don't destroy trayicons when dismissing their notifications X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~9659 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=bbdf88cf94eb822003315dc202aa52256f8e15e8;p=gnome-shell.git NotificationDaemon: don't destroy trayicons when dismissing their notifications Tray icons control their own lifespan; they're not supposed to disappear when you dismiss their notifications like non-trayicon notification sources do. https://bugzilla.gnome.org/show_bug.cgi?id=631042 --- diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index 3e0bd6b46..59c48d59f 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -344,14 +344,14 @@ NotificationDaemon.prototype = { for (let id in this._sources) { let source = this._sources[id]; if (source.app == tracker.focus_app) { - source.destroy(); + source.activated(); return; } } }, _actionInvoked: function(notification, action, source, id) { - source.destroy(); + source.activated(); this._emitActionInvoked(id, action); }, @@ -401,6 +401,7 @@ Source.prototype = { this.title = this.app.get_name(); else this.useNotificationIcon = true; + this._isTrayIcon = false; }, notify: function(notification, icon) { @@ -427,11 +428,18 @@ Source.prototype = { setTrayIcon: function(icon) { this._setSummaryIcon(icon); this.useNotificationIcon = false; + this._isTrayIcon = true; }, - _notificationClicked: function() { + _notificationClicked: function(notification) { + notification.destroy(); this.openApp(); - this.destroy(); + this.activated(); + }, + + activated: function() { + if (!this._isTrayIcon) + this.destroy(); }, openApp: function() {